Skip to content

Conversation

@stktung
Copy link
Contributor

@stktung stktung commented Dec 5, 2025

User description

Updated CHANGELOG to highlight breaking changes for 20.x.x to 23.x.x.


PR Type

Documentation


Description

  • Reorganized CHANGELOG to highlight breaking changes separately

  • Created dedicated "Breaking Changes" sections for versions 23.0.0, 22.0.0, 20.10.0, 20.6.1, and 20.6.0

  • Moved breaking change items from "Changed" and "Removed" sections to new "Breaking Changes" sections

  • Improved visibility of backward-incompatible changes across multiple major versions


Diagram Walkthrough

flowchart LR
  A["CHANGELOG.md"] -- "Extract breaking changes" --> B["Breaking Changes sections"]
  C["Changed sections"] -- "Move items" --> B
  D["Removed sections"] -- "Move items" --> B
  B -- "Improved visibility" --> E["Better upgrade guidance"]
Loading

File Walkthrough

Relevant files
Documentation
CHANGELOG.md
Reorganize breaking changes into dedicated sections           

CHANGELOG.md

  • Added new "Breaking Changes" sections for versions 23.0.0, 22.0.0,
    20.10.0, 20.6.1, and 20.6.0
  • Moved breaking change items from "Changed" and "Removed" sections into
    dedicated "Breaking Changes" sections
  • Reorganized entries to prioritize visibility of backward-incompatible
    changes
  • Maintained all original content and links while improving structural
    clarity
+20/-18 

Updated CHANGELOG to highlight breaking changes for 20.x.x to 23.x.x.
Copilot AI review requested due to automatic review settings December 5, 2025 09:18
@qodo-code-review
Copy link

qodo-code-review bot commented Dec 5, 2025

PR Compliance Guide 🔍

(Compliance updated until commit ecd9217)

Below is a summary of compliance checks for this PR:

Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
Documentation Only: The PR only updates documentation (CHANGELOG) and adds no runtime code where audit logging
could be evaluated, so compliance cannot be determined from the diff.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#218](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status:
Not Applicable: Only prose in CHANGELOG was modified; there are no identifiers or code constructs to
assess for naming quality in this diff.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#218](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Documentation Only: The changes are limited to CHANGELOG documentation and do not include executable code
where error handling can be reviewed.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#218](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status:
Documentation Only: No user-facing error handling code was modified; the diff only updates CHANGELOG entries.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#218](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status:
No Runtime Logs: The PR touches only documentation and introduces no logging statements to evaluate for
sensitive data exposure.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#218](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
No Input Handling: No code handling inputs or data processing was added or changed; only CHANGELOG content
was updated, so validation practices cannot be assessed.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#218](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Compliance status legend 🟢 - Fully Compliant
🟡 - Partial Compliant
🔴 - Not Compliant
⚪ - Requires Further Human Verification
🏷️ - Compliance label

Previous compliance checks

Compliance check up to commit 79b87a8
Security Compliance
🟢
No security concerns identified No security vulnerabilities detected by AI analysis. Human verification advised for critical code.
Ticket Compliance
🎫 No ticket provided
  • Create ticket/issue
Codebase Duplication Compliance
Codebase context is not defined

Follow the guide to enable codebase context checks.

Custom Compliance
🟢
Generic: Secure Error Handling

Objective: To prevent the leakage of sensitive system information through error messages while
providing sufficient detail for internal debugging.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Secure Logging Practices

Objective: To ensure logs are useful for debugging and auditing without exposing sensitive
information like PII, PHI, or cardholder data.

Status: Passed

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Comprehensive Audit Trails

Objective: To create a detailed and reliable record of critical system actions for security analysis
and compliance.

Status:
Documentation Only: The PR only updates documentation (CHANGELOG) and adds no executable code where audit
logging could be implemented or evaluated.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#21q8](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Meaningful Naming and Self-Documenting Code

Objective: Ensure all identifiers clearly express their purpose and intent, making code
self-documenting

Status:
Not Applicable: The changes are limited to changelog documentation and do not introduce identifiers or
code subject to naming standards.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#21q8](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Robust Error Handling and Edge Case Management

Objective: Ensure comprehensive error handling that provides meaningful context and graceful
degradation

Status:
Documentation Only: No executable code or error handling paths were added; only changelog structure and
entries were modified.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#21q8](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

Generic: Security-First Input Validation and Data Handling

Objective: Ensure all data inputs are validated, sanitized, and handled securely to prevent
vulnerabilities

Status:
Not Applicable: The PR modifies only changelog documentation and introduces no input handling or data
processing logic to assess.

Referred Code
### Breaking Changes
- Removed `Timeout` from `EventStoreOperationOptions` and moved it to an explicit `deadline` parameter on all operations except for subscriptions. Consequently, `configureOperationOptions` callback has been removed for most operations. [EventStore-Client-Dotnet#194](https://github.com/EventStore/EventStore-Client-Dotnet/pull/194)
- Drop support for `netcoreapp3.1` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)

### Added
- Allow channels to open extra connections if they reach the max streams per connection limit (i.e. too may concurrent grpc calls- 100 by default) [EventStore-Client-Dotnet#21q8](https://github.com/EventStore/EventStore-Client-Dotnet/pull/218)
- Correct the error message when deleting a stream using gRPC. [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221)
- Support `List()` over gRPC for listing persistent subscriptions [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `ReplayParked()` over gRPC for replaying parked messages [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Support `GetInfo()` over gRPC for returning details of a persistent subscription [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Target `net6.0` [EventStore-Client-Dotnet#204](https://github.com/EventStore/EventStore-Client-Dotnet/pull/204)
- Target `net7.0` [EventStore-Client-Dotnet#230](https://github.com/EventStore/EventStore-Client-Dotnet/pull/230)

### Fixed
- Incorrect error message when deleting a stream using gRPC [EventStore-Client-Dotnet#221](https://github.com/EventStore/EventStore-Client-Dotnet/pull/221) 
- Dispose the gRPC call underlying a Read if the read is only partially consumed [EventStore-Client-Dotnet#234](https://github.com/EventStore/EventStore-Client-Dotnet/pull/234)
- Support `RestartSubsystem()` over gRPC for restarting the persistent subscription subsystem [EventStore-Client-Dotnet#180](https://github.com/EventStore/EventStore-Client-Dotnet/pull/180)
- Remove the exception that logs an error when the subscription is cancelled [EventStore-Client-Dotnet#209](https://github.com/EventStore/EventStore-Client-Dotnet/pull/209)

## [22.0.0]



 ... (clipped 66 lines)

Learn more about managing compliance generic rules or creating your own custom rules

@qodo-code-review
Copy link

qodo-code-review bot commented Dec 5, 2025

PR Code Suggestions ✨

Explore these optional code suggestions:

CategorySuggestion                                                                                                                                    Impact
General
Remove trailing character from line
Suggestion Impact:The commit removed the stray trailing hyphen at the end of the specified changelog line, correcting the formatting.

code diff:

@@ -85,7 +85,7 @@
 
 ### Breaking Changes
 - Remove autoAck from Persistent Subscriptions [EventStore-Client-DotNet#175](https://github.com/EventStore/EventStore-Client-Dotnet/pull/175)
-- Adjustments to Disposal [EventStore-Client-DotNet#189](https://github.com/EventStore/EventStore-Client-Dotnet/pull/189)- 
+- Adjustments to Disposal [EventStore-Client-DotNet#189](https://github.com/EventStore/EventStore-Client-Dotnet/pull/189)
 - Rename SoftDeleteAsync to DeleteAsync [EventStore-Client-DotNet#197](https://github.com/EventStore/EventStore-Client-Dotnet/pull/197)

Remove the stray hyphen at the end of the line to correct a formatting error in
the changelog.

CHANGELOG.md [88]

-- Adjustments to Disposal [EventStore-Client-DotNet#189](https://github.com/EventStore/EventStore-Client-Dotnet/pull/189)-
+- Adjustments to Disposal [EventStore-Client-DotNet#189](https://github.com/EventStore/EventStore-Client-Dotnet/pull/189)

[Suggestion processed]

Suggestion importance[1-10]: 3

__

Why: The suggestion correctly identifies a stray hyphen at the end of a line, which appears to be a copy-paste error introduced in the PR, and proposes its removal to fix the formatting.

Low
  • Update

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR reorganizes the CHANGELOG to improve visibility of breaking changes by creating dedicated "Breaking Changes" sections for major version releases from 20.x.x to 23.x.x.

  • Breaking changes previously listed under "Changed" or "Removed" sections are now consolidated into dedicated "Breaking Changes" sections
  • Affected versions: 23.0.0, 22.0.0, 20.10.0, 20.6.1, and 20.6.0
  • Non-breaking changes remain in their original sections ("Changed", "Added", "Fixed")

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@stktung stktung changed the title Highlight breaking changes in CHANGELOG [ADV-89] Highlight breaking changes in CHANGELOG Dec 5, 2025
@linear
Copy link

linear bot commented Dec 5, 2025

stktung and others added 2 commits December 5, 2025 17:22
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@stktung
Copy link
Contributor Author

stktung commented Dec 5, 2025

@w1am can you help check if I'm missing any other breaking change

Copy link
Contributor

@w1am w1am left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@w1am w1am merged commit 2ba43f7 into master Dec 5, 2025
150 of 151 checks passed
@w1am w1am deleted the changelog-highlight-breaking-changes branch December 5, 2025 09:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants